SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE Procedure [dbo].[SP_TCMOVI_BACO_I01]  
/*-------------------------------------------------------*/  
/*---Empresa              : OFISIS S.A.                --*/  
/*---Cliente              : CPPQ                       --*/  
/*---Sistema              : Tesoreria                  --*/  
/*---M÷dulo               : Empresa                    --*/  
/*---Programa             : Grabaci¸n Conciliaci¸n B.  --*/  
/*---Script               : tcconc_.sql                --*/  
/*---Nombre SP            : SP_TCMOVI_BACO_I01         --*/  
/*---Desarrollado por     : Javier Flores A.           --*/  
/*---Fecha Creaci÷n       : 06/11/1999                 --*/  
/*---Base Datos           : Microsoft Sql Server       --*/  
/*---Versi÷n              : 7.0                        --*/  
/*---Invoca a SP          :                            --*/  
/*-------------------------------------------------------*/  
  
/*-------------------------------------------------------*/  
/*---Modificado 1 por     : EVP                        --*/  
/*---Fecha Modificaci÷n   : 24/04/2001                 --*/  
/*---Detalle Modificaci÷n :                            --*/  
/*-------------------------------------------------------*/  
/*-------------------------------------------------------*/    
/*---Modificado 2 por     : Maribel Julca Rodriguez      --*/    
/*---Fecha Modificaci©n   : 20/04/2005                   --*/     
/*---Detalle Modificaci©n : ingreso de los campos CO_USUA_CREA Y CO_USUA_MODI                           --*/    
/*-------------------------------------------------------*/      
/*-------------------------------------------------------*/  
/*---Comentarios     : QUITE LA CONDICION         --*/  
/*---                       And 'N' = @ISSI_OPER_CONC  --*/  
/*---                                                  --*/  
/*-------------------------------------------------------*/  
  
/*-------------------------------------------------------*/  
/*--- Drop Proc SP_TCMOVI_BACO_I01                 --*/  
/*--- Grant all on SP_TCMOVI_BACO_I01 to public    --*/  
/*--- SP_TCMOVI_BACO_I01                           --*/  
/*-------------------------------------------------------*/  
@ISCO_EMPR       TD_VC_002,  
@ISCO_USUA_MODI  TD_VC_008_USUA,  
@ISCO_BANC       TD_VC_003,  
@ISNU_CNTA_BANC  TD_VC_020,  
@ISAA_CONC       TD_VC_004,  
@ISMM_CONC       TD_VC_002,  
@INNU_SECU       TD_IN_001,  
@IDFE_OPER       TD_DT_001,  
@ISCO_TIPO_DOCU  TD_VC_003,  
@ISNU_DOCU_BANC  TD_VC_020,  
@ISDE_NOMB_ORDE  TD_VC_100,  
@INIM_MOVI       TD_NU_016_004,  
@ISAA_BNCO       TD_VC_004,  
@ISMM_BNCO       TD_VC_002,  
@ISTI_MOVI_BANC  TD_VC_001,  
@ISNU_COMP_BANC  TD_VC_020,  
@ISSI_OPER_CONC  TD_VC_001,  
@IDFE_CHEQ       TD_DT_001,  
@INNU_SECU_AUXI  TD_IN_001,  
@ISCO_GRUP_CONC  TD_VC_020,  
@ISST_ADIC       TD_VC_001,
@ISST_ORIG       TD_VC_001,
@ISCO_UNID_CNTB  TD_VC_003


as  
  
Declare  
@VNFE_0001       TD_IN_001,  
@VNNU_COUN       TD_IN_001,  
@VNNU_SECU       TD_IN_001,  
@VSST_FLAG       TD_VC_001,  
@CSAA_BNCO       TD_VC_004,  
@CSMM_BNCO       TD_VC_002,  
@CSTI_MOVI_BANC  TD_VC_001,  
@CSNU_COMP_BANC  TD_VC_008,  
@CSCO_TIPO_DOCU  TD_VC_003,  
@CSNU_DOCU_BANC  TD_VC_020,  
@CSDE_NOMB_ORDE  TD_VC_100,  
@CNIM_MOVI       TD_NU_016_004,  
@CDFE_CHEQ       TD_DT_001,  
@CDFE_OPER       TD_DT_001  
  
Begin Tran SP_TCMOVI_BACO_I01  
  
If @ISCO_GRUP_CONC IS NULL Or @ISCO_GRUP_CONC = ''  
  Begin  
 If @ISSI_OPER_CONC = 'S'  
   Begin  
  Update  TCMOVI_BANC  
  Set     SI_OPER_CONC = @ISSI_OPER_CONC,   
   AA_CONC = @ISAA_CONC,  
   MM_CONC = @ISMM_CONC,    
   CO_USUA_MODI = @ISCO_USUA_MODI,  
   FE_USUA_MODI = getdate()  
  Where   CO_EMPR = @ISCO_EMPR  
   And CO_UNID_CONC = @ISCO_UNID_CNTB
   And CO_BANC = @ISCO_BANC
   And NU_CNTA_BANC = @ISNU_CNTA_BANC  
   And AA_BNCO = @ISAA_BNCO  
   And MM_BNCO = @ISMM_BNCO  
   And TI_MOVI_BANC = @ISTI_MOVI_BANC  
   And NU_COMP_BANC = @ISNU_COMP_BANC  
  
  If @@error <> 0  
  Begin  
   Rollback tran  
   Return  
  End  
   End  
 Else  
   Begin  
  Update  TCMOVI_BANC  
  Set     SI_OPER_CONC = @ISSI_OPER_CONC,   
   AA_CONC = NULL,  
   MM_CONC = NULL,    
   CO_USUA_MODI = @ISCO_USUA_MODI,  
   FE_USUA_MODI = getdate()  
  Where   CO_EMPR = @ISCO_EMPR  
   And CO_UNID_CONC = @ISCO_UNID_CNTB
   And CO_BANC = @ISCO_BANC  
   And NU_CNTA_BANC = @ISNU_CNTA_BANC  
   And AA_BNCO = @ISAA_BNCO  
   And MM_BNCO =  @ISMM_BNCO  
   And TI_MOVI_BANC = @ISTI_MOVI_BANC  
   And NU_COMP_BANC = @ISNU_COMP_BANC  
  
  If @@error <> 0  
  Begin  
   Rollback tran  
   Return  
  End  
   End  
 END  
  
Else  
Begin  
 Declare CU_TCMOVI_BACO_I01_1 Cursor  
 For  
 Select  FE_OPER, AA_BNCO, MM_BNCO, TI_MOVI_BANC, NU_COMP_BANC,  
  CO_TIPO_DOCU, NU_DOCU_BANC, DE_NOMB_ORDE, IM_MOVI, FE_CHEQ  
 From    TCMOVI_BANC  
 Where   CO_EMPR = @ISCO_EMPR  
  And CO_UNID_CONC = @ISCO_UNID_CNTB
  And CO_BANC = @ISCO_BANC  
  And NU_CNTA_BANC = @ISNU_CNTA_BANC  
  And CO_GRUP_CONC = @ISCO_GRUP_CONC  
  
 Open CU_TCMOVI_BACO_I01_1  
 Fetch CU_TCMOVI_BACO_I01_1 into @CDFE_OPER, @CSAA_BNCO, @CSMM_BNCO,  
 @CSTI_MOVI_BANC, @CSNU_COMP_BANC,  
 @CSCO_TIPO_DOCU, @CSNU_DOCU_BANC,  
 @CSDE_NOMB_ORDE, @CNIM_MOVI, @CDFE_CHEQ  
  
 Select @VNFE_0001  = @@FETCH_STATUS  
  
 While (@VNFE_0001 = 0)  
 Begin  
  If (@VNFE_0001 < 0)  
  Begin  
   RAISERROR 20001 'FIN DE ARCHIVO'  
   Close CU_TCMOVI_BACO_I01_1  
   Deallocate CU_TCMOVI_BACO_I01_1  
   Return  
  End  
  
  
  If @ISSI_OPER_CONC = 'S'  
    Begin  
   Update  TCMOVI_BANC  
   Set     SI_OPER_CONC = @ISSI_OPER_CONC,   
           AA_CONC = @ISAA_CONC,  
    MM_CONC = @ISMM_CONC,    
    CO_USUA_MODI =  @ISCO_USUA_MODI,     
    FE_USUA_MODI = getdate()  
   Where   CO_EMPR = @ISCO_EMPR  
   And CO_UNID_CONC = @ISCO_UNID_CNTB
    And CO_BANC = @ISCO_BANC  
    And NU_CNTA_BANC = @ISNU_CNTA_BANC  
    And AA_BNCO = @CSAA_BNCO  
    And MM_BNCO = @CSMM_BNCO  
    And TI_MOVI_BANC = @CSTI_MOVI_BANC  
    And NU_COMP_BANC = @CSNU_COMP_BANC  
   
   If @@error <> 0  
   Begin  
    Rollback tran  
    Return  
   End  
    End  
  Else  
    Begin  
   Update  TCMOVI_BANC  
   Set     SI_OPER_CONC = @ISSI_OPER_CONC,   
    AA_CONC = NULL,  
    MM_CONC = NULL,    
    CO_USUA_MODI = @ISCO_USUA_MODI,  
    FE_USUA_MODI = getdate()  
   Where   CO_EMPR = @ISCO_EMPR  
    And CO_UNID_CONC = @ISCO_UNID_CNTB
    And CO_BANC = @ISCO_BANC  
    And NU_CNTA_BANC = @ISNU_CNTA_BANC  
    And AA_BNCO = @CSAA_BNCO  
    And MM_BNCO =  @CSMM_BNCO  
    And TI_MOVI_BANC = @CSTI_MOVI_BANC  
    And NU_COMP_BANC = @CSNU_COMP_BANC  
  
   If @@error <> 0  
   Begin  
    Rollback tran  
    Return  
    End  
   End  
  
  
  Fetch CU_TCMOVI_BACO_I01_1 into @CDFE_OPER, @CSAA_BNCO,  
  @CSMM_BNCO, @CSTI_MOVI_BANC, @CSNU_COMP_BANC,  
  @CSCO_TIPO_DOCU, @CSNU_DOCU_BANC,  
  @CSDE_NOMB_ORDE, @CNIM_MOVI, @CDFE_CHEQ  
  
  
  Select @VNFE_0001 = @@FETCH_STATUS  
 End  
  
 Close CU_TCMOVI_BACO_I01_1  
 Deallocate CU_TCMOVI_BACO_I01_1  
  
End  
  
/*Se insertan todos los registros no grabados para el mes*/  
  
If @ISSI_OPER_CONC = 'N'  
Begin  
 --SELECT @VSST_FLAG = 'N'  
  
 Select  @VNNU_SECU = IsNull( Max(NU_SECU), 0) + 1  
 From  TCMOVI_BACO   
 Where   CO_EMPR = @ISCO_EMPR  
  And CO_BANC = @ISCO_BANC  
  And NU_CNTA_BANC = @ISNU_CNTA_BANC  
  And AA_CONC = @ISAA_CONC  
  And MM_CONC = @ISMM_CONC   
   
 Insert Into TCMOVI_BACO (CO_EMPR, CO_BANC, NU_CNTA_BANC,  
  AA_CONC, MM_CONC, NU_SECU, CO_GRUP_CONC,  
  FE_OPER, NU_COMP_BANC, CO_TIPO_DOCU, NU_DOCU_BANC,  
  DE_NOMB_ORDE, TI_MOVI_BANC, IM_MOVI, FE_CHEQ, AA_BNCO, MM_BNCO,  
  CO_USUA_CREA, FE_USUA_CREA, CO_USUA_MODI, FE_USUA_MODI, ST_FLAG, ST_CONC, ST_ORIG)  
 Values (@ISCO_EMPR, @ISCO_BANC, @ISNU_CNTA_BANC,  
  @ISAA_CONC, @ISMM_CONC, @VNNU_SECU, @ISCO_GRUP_CONC,  
  @IDFE_OPER, @ISNU_COMP_BANC, @ISCO_TIPO_DOCU,  
  @ISNU_DOCU_BANC, @ISDE_NOMB_ORDE, @ISTI_MOVI_BANC , @INIM_MOVI,  
  @IDFE_CHEQ, @ISAA_BNCO, @ISMM_BNCO, @ISCO_USUA_MODI,GETDATE(), @ISCO_USUA_MODI, GETDATE(), @ISST_ADIC, @ISSI_OPER_CONC, @ISST_ORIG)  
  
 If @@error <> 0  
    Begin  
      Rollback tran  
      Return  
    End  
  
End   
  
IF @ISSI_OPER_CONC = 'S' AND @ISCO_GRUP_CONC IS NOT NULL AND RTRIM(LTRIM(@ISCO_GRUP_CONC)) != ''  
 DELETE  TCMOVI_BACO  
 Where   CO_EMPR = @ISCO_EMPR  
  And CO_BANC = @ISCO_BANC  
  And NU_CNTA_BANC = @ISNU_CNTA_BANC  
  And CO_GRUP_CONC = @ISCO_GRUP_CONC  
  
IF @ISSI_OPER_CONC = 'S' AND (@ISCO_GRUP_CONC IS NULL OR LTRIM(RTRIM(@ISCO_GRUP_CONC)) = '')  
 DELETE  TCMOVI_BACO  
 WHERE CO_EMPR = @ISCO_EMPR  
  And CO_BANC = @ISCO_BANC  
  And NU_CNTA_BANC = @ISNU_CNTA_BANC  
  And AA_CONC = @ISAA_CONC  
  And MM_CONC = @ISMM_CONC  
  And TI_MOVI_BANC = @ISTI_MOVI_BANC  
  And NU_COMP_BANC = @ISNU_COMP_BANC  
  And CO_TIPO_DOCU = @ISCO_TIPO_DOCU  
  And NU_DOCU_BANC = @ISNU_DOCU_BANC  
 
IF @ISST_ADIC = 'S' 
 Begin    

   If @ISSI_OPER_CONC = 'N'   
      Select @ISAA_CONC = NULL, @ISMM_CONC = NULL

   Update TCMOVI_SACO  
   Set    ST_CONC = @ISSI_OPER_CONC,
          AA_CONC = @ISAA_CONC,  
          MM_CONC = @ISMM_CONC,  
          CO_USUA_MODI = @ISCO_USUA_MODI,     
          FE_USUA_MODI = getdate()  
   Where  CO_EMPR = @ISCO_EMPR  
   And    CO_BANC = @ISCO_BANC  
   And    NU_CNTA_BANC = @ISNU_CNTA_BANC  
   And    AA_BNCO = @ISAA_BNCO  
   And    MM_BNCO = @ISMM_BNCO  
   And    TI_MOVI_BANC = @ISTI_MOVI_BANC  
   And    NU_COMP_BANC = @ISNU_COMP_BANC  
   And    CO_TIPO_DOCU = @ISCO_TIPO_DOCU  
   And    NU_DOCU_BANC = @ISNU_DOCU_BANC  
  
   If @@error <> 0  
      Begin  
        Rollback tran   
        Return  
      End  
 
 
END  
  
  
commit tran
/*********************************FIN**********************************/


GO
